/*
 * Copyright (c) 2007-2021 西安交通信息投资营运有限公司 版权所有
 */

package com.xci.xajtfb.bus.dao;

import com.github.lvyanyang.annotation.Paging;
import com.xci.xajtfb.bus.entity.WxEvaluation;
import com.xci.xajtfb.bus.filter.WxEvaluationFilter;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 出租评价数据层
 * @author 焦元义
 * @since 2021-03-02 13:29:14
 */
public interface WxEvaluationDao {
    /**
     * 新建出租评价
     * @param entity 出租评价实体
     * @return 返回影响的行数
     */
    int insert(@Param("entity") WxEvaluation entity);

    /**
     * 修改出租评价
     * @param entity 出租评价实体
     * @return 返回影响的行数
     */
    int update(@Param("entity") WxEvaluation entity);

    /**
     * 根据主键修改出租评价状态
     * @param id     出租评价主键
     * @param status 出租评价状态
     * @return 返回影响的行数
     */
    int updateStatus(@Param("id") Long id, @Param("status") Boolean status);

    /**
     * 根据主键删除出租评价
     * @param id 出租评价主键
     * @return 返回影响的行数
     */
    int deleteById(@Param("id") String id);


    ///**
    // * 根据主键删除出租评价
    // * @param id 出租评价主键
    // * @param deleteId 删除标识
    // * @return 返回影响的行数
    // */
    //int deleteById(@Param("id") String id, @Param("deleteId") Long deleteId});

    ///**
    // * 是否存在指定主键的出租评价
    // * @param id 出租评价主键
    // * @return 如果存在返回true
    // */
    //boolean existxById(@Param("id") String id);

    ///**
    // * 是否存在指定名称的出租评价
    // * @param name 出租评价名称
    // * @param excludeId 排除的主键，如果为null则不指定排除的主键
    // * @return 如果存在返回true
    // */
    //boolean existxByName(@Param("name") String name, @Param("excludeId") String excludeId);

    ///**
    // * 是否存在指定编码的出租评价
    // * @param code 出租评价编码
    // * @param excludeId 排除的主键，如果为null则不指定排除的主键
    // * @return 如果存在返回true, 否则返回false
    // */
    //boolean existxByCode(@Param("code") String code, @Param("excludeId") String excludeId);


    /**
     * 根据主键查询单个出租评价
     * @param id 出租评价主键
     * @return 返回出租评价实体
     */
    WxEvaluation selectById(@Param("id") Long id);

    ///**
    // * 根据编码查询单个出租评价
    // * @param code 出租评价编码
    // * @return 返回出租评价实体
    // */
    //Wxevaluation selectByCode(@Param("code") String code);

    /**
     * 查询出租评价列表
     * @param filter 过滤条件
     * @return 返回出租评价列表
     */
    List<WxEvaluation> selectList(@Param("filter") WxEvaluationFilter filter);

    /**
     * 查询出租评价分页列表
     * @param filter 过滤条件
     * @return 返回出租评价分页列表
     */
    /*
        allowSortNames = {"carnumber","certno","createdate","context","userid","crcmstar","fwlystar","xcaqstar","zhpjstar"},
        sortNameMaps = {"carnumber:carnumber","certno:certno","createdate:createdate","context:context","userid:userid","crcmstar:crcmstar","fwlystar:fwlystar","xcaqstar:xcaqstar","zhpjstar:zhpjstar"}
    */
    @Paging
    List<WxEvaluation> selectPageList(@Param("filter") WxEvaluationFilter filter);
}
